#include "List.h"

void test1()
{
	pListNode phead = ListInit();

	ListPushBack(phead, 1);
	ListPushBack(phead, 2);
	ListPushBack(phead, 3);
	ListPushBack(phead, 4);
	ListPushBack(phead, 5);
	ListPushBack(phead, 6);

	ListPrint(phead);

	ListPopBack(phead);
	ListPopBack(phead);
	ListPopBack(phead);
	ListPopBack(phead);
	ListPopBack(phead);

	ListPrint(phead);

	ListPushFront(phead, 6);
	ListPushFront(phead, 7);
	ListPushFront(phead, 8);
	ListPushFront(phead, 9);

	ListPrint(phead);

	ListPopFront(phead);
	ListPopFront(phead);
	ListPopFront(phead);
	ListPopFront(phead);

	ListPrint(phead);

	ListDestroy(phead);
	phead = NULL;
}

void test2()
{
	pListNode phead = ListInit();

	ListPushBack(phead, 2);
	ListPushBack(phead, 3);
	ListPushBack(phead, 4);
	ListPushBack(phead, 5);
	ListPushBack(phead, 6);

	ListPrint(phead);

	ListInsert(phead->next, 1);
	ListInsert(phead, 7);
	ListInsert(phead, 8);
	ListInsert(phead, 9);

	ListPrint(phead);

	ListErase(phead->prev);
	ListErase(phead->prev);
	ListErase(phead->prev);

	ListPrint(phead);

	ListErase(phead->next);
	ListErase(phead->next);
	ListErase(phead->next);

	ListPrint(phead);

	ListDestroy(phead);
	phead = NULL;
}

int main()
{
	//test1();
	test2();

	return 0;
}


